/**
 * Iterator Patterns
 * 提供一种方法访问一个容器（container）对象中各个元素，而又不需暴露该对象的内部细节。
 * <p>
 * 迭代器由以下角色组成
 * 1.迭代器角色（Iterator）：迭代器角色负责定义访问和遍历元素的接口。
 * 2.具体迭代器角色（Concrete Iterator）：具体迭代器角色要实现迭代器接口，并要记录遍历中的当前位置。
 * 3.容器角色（Container）：容器角色负责提供创建具体迭代器角色的接口。
 * 4.具体容器角色（Concrete Container）：具体容器角色实现创建具体迭代器角色的接口——这个具体迭代器角色与该容器的结构相关。
 * Created by heqianqian on 2017/6/17.
 */
package com.hqq.behaviour.iterator;